1. Field
The present disclosure pertains to the field of information processing, and more particularly, to the field of partitioning information processing systems.
2. Description of Related Art
Generally, the concept of partitioning in information processing systems refers to dividing a system into partitions, where each partition is a group of system resources that may be operated as a complete and independent system. The system resources that may be allocated to a partition include processors, processor cores (where individual cores of a multicore processor may be allocated to different partitions), portions of system memory, and input/output (“I/O”) devices.
Different types of partitioning are known. In “soft” partitioning, system resources may be shared between partitions. One form of soft partitioning is virtualization, which allows multiple instances of one or more operating systems (each, an “OS”) to run on a single system, even though each OS is designed to have complete, direct control over the system and its resources. Virtualization is typically implemented using software known as a virtual machine monitor (“VMM”), which directly controls the physical resources of the system and presents to each OS a “virtual machine” (“VM”) having virtual resources, including one or more virtual processors, that the OS may completely and directly control. The VMM maintains a system environment for implementing virtualization policies such as sharing and/or allocating the physical resources among the VMs (the “virtualization environment”). Each OS, and any other software, that runs on a VM is referred to as a “guest” or as “guest software,” while a “host” or “host software” is software, such as a VMM, that runs outside of, and may or may not be aware of, the virtualization environment.
Soft partitioning typically requires that a VMM, hypervisor, OS, or other such software is designed to run in one partition of a partitioned system and enforce the sharing of physical resources, which may include preventing any such software running in other partitions from directly controlling physical resources.
In “hard” partitioning, each system resource is typically dedicated to a respective partition. Hard partitioning provides for any OS, VMM, hypervisor, or other such software to be run in each partition without requiring that the software be designed for a partitioned system, because such software may directly control the physical resources of its partition.